package day4;

import java.util.Arrays;
import java.util.Scanner;

public class Main1 {
    /**
     * AOE还是单体？
     * https://ac.nowcoder.com/acm/problem/205048
     */
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        int x = in.nextInt();
        int[] arr = new int[n];
        for(int i = 0;i < n;i++) {
            arr[i] = in.nextInt();
        }
        // 先进行排序
        Arrays.sort(arr);
        // 贪心：
        // 如果怪物的数量大于x的时候使用 “践踏”
        // 如果怪物的数量小于等于x的时候使用 “冲撞”

        // 这样排序之后，先对 (n - 1) - x 的位置的值进行使用 “践踏” 这样之后，就剩下x个怪物
        long ret = 0;
        int index = n - 1 - x; // 这里的x 可能是一个非常大的数，那么就对其进行特判
        if(index < 0) {
            for(int i = 0;i < n;i++) {
                ret += arr[i];
            }
        }else {
            // 先计算 “践踏” 的蓝量
            ret += arr[index] * x;
            // 剩下的怪物使用 “冲撞” 但是只需要统计剩余的血量
            for(int i = index + 1;i < n;i++) {
                ret += arr[i] - arr[index];
            }
        }
        System.out.println(ret);
    }
}
